package cn.share.life.module.images.utils.flowFile;

import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.List;

@Getter
@AllArgsConstructor
public enum LineAndAreaEnums {
    // 灵宝直流   陕西、河南
    lingbao("灵宝直流", Lists.newArrayList("陕西", "河南")),
    //德宝直流   四川、陕西
    debao("德宝直流", Lists.newArrayList("四川", "陕西")),
    //高岭直流   辽宁、冀北
    gaoling("高岭直流", Lists.newArrayList("辽宁", "冀北")),
    //林枫直流   浙江、上海、湖北、安徽
    linfeng("林枫直流", Lists.newArrayList("浙江", "上海", "湖北", "安徽")),
    //龙政直流   江苏、湖北、安徽
    longzheng("龙政直流", Lists.newArrayList("江苏", "湖北", "安徽")),
    //宜华直流   浙江、上海、江苏、湖北、安徽
    yihua("宜华直流", Lists.newArrayList("浙江", "上海", "江苏", "湖北", "安徽")),
    //葛南直流   浙江、上海、湖北、安徽
    genan("葛南直流", Lists.newArrayList("浙江", "上海", "湖北", "安徽")),
    //江城直流   湖南、湖北
    jiangcheng("江城直流", Lists.newArrayList("湖南", "湖北")),
    //中俄直流   黑龙江
    zhonge("中俄直流", Lists.newArrayList("黑龙江")),
    //阳城送出   江苏、河南、山东
    yangcheng("阳城送出", Lists.newArrayList("江苏", "河南", "山东")),
    //锦界送出   山西、河北
    jinjie("锦界送出", Lists.newArrayList("山西", "河北")),
    //府谷送出   山西、河北
    fugu("府谷送出", Lists.newArrayList("山西", "河北")),
    //盂县送出   山西、河北
    yuxian("盂县送出", Lists.newArrayList("山西", "河北")),
    //辛洹线   河南、河北
    xinyuan("辛洹线", Lists.newArrayList("河南", "河北")),
    //三峡送华中   重庆、浙江、上海、江西、江苏、湖南、湖北、河南、安徽
    sanxia("三峡送华中", Lists.newArrayList("重庆", "浙江", "上海", "江西", "江苏", "湖南", "湖北", "河南", "安徽")),
    //长南荆特高压交流   山西、湖北、河南
    changnan("长南荆特高压交流", Lists.newArrayList("山西", "湖北", "河南")),
    //银东直流   陕西、山西、山东、河北、宁夏
    yindong("银东直流", Lists.newArrayList("陕西", "山西", "山东", "河北", "宁夏")),
    //复奉直流   上海、江苏、浙江、安徽、湖南、四川、重庆、湖北
    fufeng("复奉直流", Lists.newArrayList("上海", "江苏", "浙江", "安徽", "湖南", "四川", "重庆", "湖北")),
    //锦苏直流   江苏、浙江、安徽、湖北、湖南、四川、重庆
    jinsu("锦苏直流", Lists.newArrayList("江苏", "浙江", "安徽", "湖北", "湖南", "四川", "重庆")),
    //宾金直流   江西、湖南、四川、浙江
    binjin("宾金直流", Lists.newArrayList("江西", "湖南", "四川", "浙江")),
    //天中直流   新疆、陕西、山西、宁夏、河南、甘肃
    tianzhong("天中直流", Lists.newArrayList("新疆", "陕西", "山西", "宁夏", "河南", "甘肃")),
    //祁韶直流   重庆、陕西、湖南、湖北、甘肃
    qishaou("祁韶直流", Lists.newArrayList("重庆", "陕西", "湖南", "湖北", "甘肃")),
    //灵绍直流   山西、陕西、安徽、河南、浙江、宁夏
    lingshao("灵绍直流", Lists.newArrayList("山西", "陕西", "安徽", "河南", "浙江", "宁夏")),
    //雁淮直流   山西、山东、江苏、河南、河北、安徽
    yanhuai("雁淮直流", Lists.newArrayList("山西", "山东", "江苏", "河南", "河北", "安徽")),
    //锡泰直流   天津、山东、蒙东、江苏、冀北、河北
    xitai("锡泰直流", Lists.newArrayList("天津", "山东", "蒙东", "江苏", "冀北", "河北")),
    //鲁固直流   天津、山东、蒙东、冀北、河北
    lugu("鲁固直流", Lists.newArrayList("天津", "山东", "蒙东", "冀北", "河北")),
    //吉泉直流   新疆、安徽、河南、宁夏、甘肃、陕西
    jiquan("吉泉直流", Lists.newArrayList("新疆", "安徽", "河南", "宁夏", "甘肃", "陕西")),
    //昭沂直流   蒙东、河北、山西、陕西、河南、山东
    zhaoyi("昭沂直流", Lists.newArrayList("蒙东", "河北", "山西", "陕西", "河南", "山东")),
    //青豫直流   陕西、青海、河南、甘肃
    qingyu("青豫直流", Lists.newArrayList("陕西", "青海", "河南", "甘肃")),
    //雅湖直流   四川、湖南、江西
    yahu("雅湖直流", Lists.newArrayList("四川", "湖南", "江西")),
    //陕武直流   陕西、山西、河南、湖北
    shanwu("陕武直流", Lists.newArrayList("陕西", "山西", "河南", "湖北")),
    //建苏直流   安徽、湖北、四川、重庆、江苏
    jiansu("建苏直流", Lists.newArrayList("安徽", "湖北", "四川", "重庆", "江苏")),
    //金塘直流   湖北、重庆、四川、安徽、浙江
    jintang("金塘直流", Lists.newArrayList("湖北", "重庆", "四川", "安徽", "浙江")),

    ;
    private final String lineName; // 线路名称

    private final List<String> areaNameList; // 区域名称

    public static List<String> getAreaNameListByLineName(String lineName) {
        for (LineAndAreaEnums lineAndAreaEnum : LineAndAreaEnums.values()) {
            if (lineAndAreaEnum.getLineName().equals(lineName)) {
                return lineAndAreaEnum.getAreaNameList();
            }
        }
        return Lists.newArrayList(); // 或抛出异常
    }
}
